He codificado un bot de Discord pero tengo un problema, cuando inicio el bot tengo este problema: "ReferenceError: el cliente no está definido", he descargado los requisitos, etc.
El cliente :
client.userSettings = new Collection();Mi interacciónCreate.js:
// Check the guide at the beginning if you don't understand paths. const User = require("../Models/User"); const cmd = client.Commands.get(interaction.commandName); if (cmd) { let user = client.userSettings.get(interaction.user.id); // If there is no user, create it in the Database as "newUser" if (!user) { const findUser = await User.findOne({ Id: interaction.user.id }); if (!findUser) { const newUser = await User.create({ Id: interaction.user.id }); client.userSettings.set(interaction.user.id, newUser); user = newUser; } else; } if (cmd.premium && user && !user.isPremium) { interaction.followUp(`You are not premium user`); } else { cmd.run({ client, interaction, args }); } }Mi usuario.js:
const mongoose = require("mongoose"); // The heart of the User, here is everything saved that the User does. // Such as Levels, Courses, Premium, Enrolled, XP, Leaderboard. const user = mongoose.Schema({ Id: { type: mongoose.SchemaTypes.String, required: true, unique: true, }, isPremium: { type: mongoose.SchemaTypes.Boolean, default: false, }, premium: { redeemedBy: { type: mongoose.SchemaTypes.Array, default: null, }, redeemedAt: { type: mongoose.SchemaTypes.Number, default: null, }, expiresAt: { type: mongoose.SchemaTypes.Number, default: null, }, plan: { type: mongoose.SchemaTypes.String, default: null, }, }, }); module.exports = mongoose.model("user", user);Por favor, ayúdenme, necesito ayuda por favor, gracias.
Simplemente utilice el cliente que le ha pasado a su commad:
if (cmd.premium && user && !user.isPremium) { interaction.followUp(`You are not premium user`); } else { cmd.run({ **client**, interaction, args }); } }También sería bueno ver cómo se ve tu comando.
El problema es que no tiene su client definido en su interactionCreate.js . Para definirlo, use const client = <something> si necesita ayuda con el cliente, lea esta documentación .
Si eres nuevo en DiscordJS V13, puedes ver los documentos aquí
Otros pasos que puede seguir para solucionar el problema son reinstalar discordjs y verificar que está utilizando la versión 16 del nodo y superior.
Nodo: En tu terminal pon node -v
Reinstalación de Discord Js: en su terminal, coloque npm uninstall discord.js , luego npm install discord.js o npm install discord.js@13.6.0